# -*- coding: UTF-8 -*-
# @Time : 2020-12-29 9:40
# @File : YmlReadel.py

import os
import yaml


class YmlReadel:
    # 初始化，判断文件是否存在
    def __init__(self, yml):
        if os.path.exists(yml):
            self.yml = yml
        else:
            raise FileNotFoundError('文件不存在！')
        self._data = None
        self._data_all = None

    # 1、单个文档读取
    def data(self):
        # 第一次读取yml文档，否则返回保存前数据
        if not self._data:
            with open(self.yml, 'rb',)as f:
                self._data = yaml.safe_load(f)
        return self._data

    # 2、多文档读取
    def data_all(self):
        if not self._data_all:
            with open(self.yml, 'rb',)as f:
                self._data_all = list(yaml.safe_load_all(f))
        return self._data_all
